#pragma once

#include "../Common/Common.h"
#include "../Event/EventType.h"

class NetworkDataRecognizer
{
public:
	NetworkDataRecognizer() {}
	virtual ~NetworkDataRecognizer() {}
	
	// return dataType
	virtual int		recognize(char* data, int length) const = 0;

	virtual void triggerDataEvent(int dataType, int dataIndex) const = 0;
};




PSDF_CORE_DLL_DECL extern const unsigned int NETWORK_GROUP;
PSDF_CORE_DLL_DECL extern const unsigned int	  DEFAULT_NETWORK_DATA;

class DefaultDataRecognizer : public NetworkDataRecognizer
{
public:
	int		recognize(char* data, int length) const;
	void	triggerDataEvent(int dataType, int dataIndex) const;
};